package com.lh.service;

import com.alibaba.fastjson.JSONObject;
import com.lh.entity.table.DeadlineNode;
import com.lh.entity.table.ProcessNode;
import com.lh.entity.table.TicketProblemInfo;
import com.lh.utils.Answer;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public interface TicketProblemInfoService {

    Answer<Object> addTicketProblemInfo(TicketProblemInfo ticketProblemInfo);

    Answer<Object> addTicketProblemInfoList(JSONObject reqJson);

    Answer<Object> updateTicketProblemInfo(TicketProblemInfo ticketProblemInfo);

    Answer<Object> deleteTicketProblemInfo(TicketProblemInfo ticketProblemInfo);

    Answer<Object> selectTicketProblemInfo(TicketProblemInfo ticketProblemInfo);

    Answer<Object> selectTicketProblemInfoList(JSONObject reqJson);

    Answer<Object> selectTicketProblemInfoPage(JSONObject reqJson);

    Answer<Object> processIssuance(JSONObject reqJson);

    Answer<Object> processBack(TicketProblemInfo ticketProblemInfo);

    Answer<Object> queryNodeList(JSONObject reqJson);

    Answer<Object> updateNodeList(ProcessNode processNode);

    Answer<Object> processEnd(JSONObject reqJson);

    Answer<Object> uploadFile(HttpServletRequest request);

    void downTicketProblemExcelData(HttpServletResponse response, JSONObject reqJson);

    Answer<Object> importTicketProblemInfo(MultipartFile file);

    Answer<Object> updateDeadlineNode(DeadlineNode deadlineNode);
}
